With the widespread usage of smart terminals, applications installed on the smart terminals have gained tremendous popularity among users. To access an application installed on a smart terminal, a user is often required to first log into a corresponding server, where the server may authenticate the terminal and verify whether the user is authorized to access the system. In the conventional circuit switch communication system with TCP-based connections, a Simple Authentication and Security Layer (SASL) authentication framework is typically used for authentication.
SASL is a mechanism for providing authentication and data security service. In order to use the SASL framework, both a server and a client terminal would need to install a libsasl library, and the client terminal is required to support at least one of the SASL mechanisms provided by the server, including DIGEST-MD5, CRAM-MD5, LOGIN, and PLAIN. When the application only services a single local user, authentication may not be required. But when the application services more than one user or is open to other users on a network (e.g., through a cloud service), the SASL authentication mechanism may be required, and the client terminal may be required to install the libsasl library in order to support SASL. Because the installation of the libsasl library is a relatively complex and error-prone process not easily performed by the average user, the SASL framework is less than ideal. For example, to gain full access to all of the services provided by the memcached protocol, a PHP client terminal may be required to manually install the libsasl library. If the client terminal cannot install or support the libsasal library, or if the user at the client terminal is incapable of doing so, the client terminal may not be able to access some or any of the services offered by the memcached protocol. Neither situation is desirable.
Thus, the conventional authentication schemes are inconvenient in that they require a client terminal to support SASL. Also, a user may not wish to be burdened by the technical details of authentication when using an application. Thus, it is desirable to provide an authentication scheme that allows the client terminal to authenticate with the server without using the SASL mechanism.